package com.myjob.controller;

import com.myjob.entity.Enums;
import com.myjob.enums.CompanyEnums;
import com.myjob.response.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Chen Yuan
 * @create 2021-02-05  16:28
 */
@RestController
@Slf4j
@RequestMapping("/company")
public class EnumsController {

	@GetMapping("/companySize")
	public Result getCompanySize(){
		CompanyEnums.COMPANY_SIZE[] values = CompanyEnums.COMPANY_SIZE.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (CompanyEnums.COMPANY_SIZE value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"企业规模");
	}

	@GetMapping("/financingSituation")
	public Result getFinancingSituation(){
		CompanyEnums.FINANCING_SITUATION[] values = CompanyEnums.FINANCING_SITUATION.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (CompanyEnums.FINANCING_SITUATION value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"企业融资情况");
	}

	@GetMapping("/enterprisesType")
	public Result getEnterprisesType(){
		CompanyEnums.ENTERPRISES_TYPE[] values = CompanyEnums.ENTERPRISES_TYPE.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (CompanyEnums.ENTERPRISES_TYPE value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"企业类型");
	}

	@GetMapping("/operationStatus")
	public Result getOperationStatus(){
		CompanyEnums.OPERATION_STATUS[] values = CompanyEnums.OPERATION_STATUS.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (CompanyEnums.OPERATION_STATUS value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"经营状态");
	}

	@GetMapping("/memberLevel")
	public Result getMemberLevel(){
		CompanyEnums.MEMBER_LEVEL[] values = CompanyEnums.MEMBER_LEVEL.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (CompanyEnums.MEMBER_LEVEL value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"会员等级");
	}
}
